# status_translation.py
"""状态翻译工具 - 将英文状态转换为中文"""

# 在线状态
ONLINE_STATUS_MAP = {
    'online': '在线',
    'offline': '离线',
    'connecting': '连接中'
}

# 工作状态
WORK_STATUS_MAP = {
    'idle': '空闲中',
    'searching': '搜索中',
    'ordering': '下单中',
    'processing': '处理中',
    'waiting': '等待中'
}

# 浏览器状态
BROWSER_STATUS_MAP = {
    'stopped': '已关闭浏览器',
    'starting': '启动浏览器中',
    'running': '已启动浏览器',
    'error': '浏览器错误'
}

# 登录状态
LOGIN_STATUS_MAP = {
    'not_logged_in': '未登录',
    'logging_in': '登录中',
    'qrcode_login': '二维码登录中',
    'sms_login': '手机号登录中',
    'logged_in': '已登录',
    'login_error': '登录失败',
    'login_expired': '登录过期',
    'session_expired': '会话过期'
}

# 客户端类型
CLIENT_TYPE_MAP = {
    'search': '搜索端',
    'order': '下单端',
    'both': '搜索+下单'
}


def translate_online_status(status: str) -> str:
    """翻译在线状态"""
    return ONLINE_STATUS_MAP.get(status, status)


def translate_work_status(status: str) -> str:
    """翻译工作状态"""
    return WORK_STATUS_MAP.get(status, status)


def translate_browser_status(status: str) -> str:
    """翻译浏览器状态"""
    return BROWSER_STATUS_MAP.get(status, status)


def translate_login_status(status: str) -> str:
    """翻译登录状态"""
    return LOGIN_STATUS_MAP.get(status, status)


def translate_client_type(client_type: str) -> str:
    """翻译客户端类型"""
    return CLIENT_TYPE_MAP.get(client_type, client_type)


def translate_client_info(client_dict: dict) -> dict:
    """翻译客户端完整信息（返回新dict，保留原始值）"""
    translated = client_dict.copy()
    
    if 'online_status' in translated:
        translated['online_status_cn'] = translate_online_status(translated['online_status'])
    
    if 'work_status' in translated:
        translated['work_status_cn'] = translate_work_status(translated['work_status'])
    
    if 'browser_status' in translated:
        translated['browser_status_cn'] = translate_browser_status(translated['browser_status'])
    
    if 'login_status' in translated:
        translated['login_status_cn'] = translate_login_status(translated['login_status'])
    
    if 'client_type' in translated:
        translated['client_type_cn'] = translate_client_type(translated['client_type'])
    
    return translated

